// Generated from antlr/gdx.g4 by ANTLR 4.9.0-SNAPSHOT


import { ATN } from "antlr4ts/atn/ATN";
import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer";
import { CharStream } from "antlr4ts/CharStream";
import { Lexer } from "antlr4ts/Lexer";
import { LexerATNSimulator } from "antlr4ts/atn/LexerATNSimulator";
import { NotNull } from "antlr4ts/Decorators";
import { Override } from "antlr4ts/Decorators";
import { RuleContext } from "antlr4ts/RuleContext";
import { Vocabulary } from "antlr4ts/Vocabulary";
import { VocabularyImpl } from "antlr4ts/VocabularyImpl";

import * as Utils from "antlr4ts/misc/Utils";


export class gdxLexer extends Lexer {
	public static readonly T__0 = 1;
	public static readonly T__1 = 2;
	public static readonly T__2 = 3;
	public static readonly T__3 = 4;
	public static readonly T__4 = 5;
	public static readonly T__5 = 6;
	public static readonly T__6 = 7;
	public static readonly T__7 = 8;
	public static readonly T__8 = 9;
	public static readonly T__9 = 10;
	public static readonly T__10 = 11;
	public static readonly T__11 = 12;
	public static readonly T__12 = 13;
	public static readonly T__13 = 14;
	public static readonly T__14 = 15;
	public static readonly INT = 16;
	public static readonly DIGIT = 17;
	public static readonly ID = 18;
	public static readonly NameChar = 19;
	public static readonly NameStartChar = 20;
	public static readonly STRING_ = 21;
	public static readonly HEX = 22;
	public static readonly HEXNUM = 23;
	public static readonly BIN = 24;
	public static readonly BINNUM = 25;
	public static readonly FLOAT_ = 26;
	public static readonly SIGN = 27;
	public static readonly WS = 28;

	// tslint:disable:no-trailing-whitespace
	public static readonly channelNames: string[] = [
		"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
	];

	// tslint:disable:no-trailing-whitespace
	public static readonly modeNames: string[] = [
		"DEFAULT_MODE",
	];

	public static readonly ruleNames: string[] = [
		"T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", 
		"T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "INT", "DIGIT", "ID", 
		"NameChar", "NameStartChar", "CHAR", "STRING_", "HEX", "HEXNUM", "BIN", 
		"BINNUM", "FLOAT_", "SIGN", "WS",
	];

	private static readonly _LITERAL_NAMES: Array<string | undefined> = [
		undefined, "'<'", "'>'", "'</'", "'='", "'('", "','", "')'", "'{'", "'}'", 
		"':'", "'['", "']'", "'true'", "'false'", "'null'",
	];
	private static readonly _SYMBOLIC_NAMES: Array<string | undefined> = [
		undefined, undefined, undefined, undefined, undefined, undefined, undefined, 
		undefined, undefined, undefined, undefined, undefined, undefined, undefined, 
		undefined, undefined, "INT", "DIGIT", "ID", "NameChar", "NameStartChar", 
		"STRING_", "HEX", "HEXNUM", "BIN", "BINNUM", "FLOAT_", "SIGN", "WS",
	];
	public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(gdxLexer._LITERAL_NAMES, gdxLexer._SYMBOLIC_NAMES, []);

	// @Override
	// @NotNull
	public get vocabulary(): Vocabulary {
		return gdxLexer.VOCABULARY;
	}
	// tslint:enable:no-trailing-whitespace


	constructor(input: CharStream) {
		super(input);
		this._interp = new LexerATNSimulator(gdxLexer._ATN, this);
	}

	// @Override
	public get grammarFileName(): string { return "gdx.g4"; }

	// @Override
	public get ruleNames(): string[] { return gdxLexer.ruleNames; }

	// @Override
	public get serializedATN(): string { return gdxLexer._serializedATN; }

	// @Override
	public get channelNames(): string[] { return gdxLexer.channelNames; }

	// @Override
	public get modeNames(): string[] { return gdxLexer.modeNames; }

	public static readonly _serializedATN: string =
		"\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02\x1E\xC1\b\x01" +
		"\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06" +
		"\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r" +
		"\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t" +
		"\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t" +
		"\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t" +
		"\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E\x03\x02\x03\x02\x03\x03\x03\x03\x03\x04" +
		"\x03\x04\x03\x04\x03\x05\x03\x05\x03\x06\x03\x06\x03\x07\x03\x07\x03\b" +
		"\x03\b\x03\t\x03\t\x03\n\x03\n\x03\v\x03\v\x03\f\x03\f\x03\r\x03\r\x03" +
		"\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03" +
		"\x0F\x03\x0F\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x11\x05\x11h" +
		"\n\x11\x03\x11\x06\x11k\n\x11\r\x11\x0E\x11l\x03\x12\x03\x12\x03\x13\x03" +
		"\x13\x07\x13s\n\x13\f\x13\x0E\x13v\v\x13\x03\x14\x03\x14\x05\x14z\n\x14" +
		"\x03\x15\x03\x15\x03\x15\x05\x15\x7F\n\x15\x03\x16\x03\x16\x03\x17\x03" +
		"\x17\x07\x17\x85\n\x17\f\x17\x0E\x17\x88\v\x17\x03\x17\x03\x17\x03\x17" +
		"\x07\x17\x8D\n\x17\f\x17\x0E\x17\x90\v\x17\x03\x17\x05\x17\x93\n\x17\x03" +
		"\x18\x05\x18\x96\n\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18" +
		"\x07\x18\x9E\n\x18\f\x18\x0E\x18\xA1\v\x18\x03\x19\x03\x19\x03\x1A\x05" +
		"\x1A\xA6\n\x1A\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x07\x1A" +
		"\xAE\n\x1A\f\x1A\x0E\x1A\xB1\v\x1A\x03\x1B\x03\x1B\x03\x1C\x05\x1C\xB6" +
		"\n\x1C\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x03\x1D\x03\x1D\x03\x1E\x03\x1E" +
		"\x03\x1E\x03\x1E\x02\x02\x02\x1F\x03\x02\x03\x05\x02\x04\x07\x02\x05\t" +
		"\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17" +
		"\x02\r\x19\x02\x0E\x1B\x02\x0F\x1D\x02\x10\x1F\x02\x11!\x02\x12#\x02\x13" +
		"%\x02\x14\'\x02\x15)\x02\x16+\x02\x02-\x02\x17/\x02\x181\x02\x193\x02" +
		"\x1A5\x02\x1B7\x02\x1C9\x02\x1D;\x02\x1E\x03\x02\b\x03\x022;\x04\x02C" +
		"\\c|\x03\x02$$\x05\x022;CHch\x04\x02--//\x05\x02\v\f\x0F\x0F\"\"\x02\xCF" +
		"\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02" +
		"\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02" +
		"\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02" +
		"\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02" +
		"\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02\x02\x02\x1F\x03\x02\x02\x02\x02" +
		"!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02%\x03\x02\x02\x02\x02\'\x03" +
		"\x02\x02\x02\x02)\x03\x02\x02\x02\x02-\x03\x02\x02\x02\x02/\x03\x02\x02" +
		"\x02\x021\x03\x02\x02\x02\x023\x03\x02\x02\x02\x025\x03\x02\x02\x02\x02" +
		"7\x03\x02\x02\x02\x029\x03\x02\x02\x02\x02;\x03\x02\x02\x02\x03=\x03\x02" +
		"\x02\x02\x05?\x03\x02\x02\x02\x07A\x03\x02\x02\x02\tD\x03\x02\x02\x02" +
		"\vF\x03\x02\x02\x02\rH\x03\x02\x02\x02\x0FJ\x03\x02\x02\x02\x11L\x03\x02" +
		"\x02\x02\x13N\x03\x02\x02\x02\x15P\x03\x02\x02\x02\x17R\x03\x02\x02\x02" +
		"\x19T\x03\x02\x02\x02\x1BV\x03\x02\x02\x02\x1D[\x03\x02\x02\x02\x1Fa\x03" +
		"\x02\x02\x02!g\x03\x02\x02\x02#n\x03\x02\x02\x02%p\x03\x02\x02\x02\'y" +
		"\x03\x02\x02\x02)~\x03\x02\x02\x02+\x80\x03\x02\x02\x02-\x92\x03\x02\x02" +
		"\x02/\x95\x03\x02\x02\x021\xA2\x03\x02\x02\x023\xA5\x03\x02\x02\x025\xB2" +
		"\x03\x02\x02\x027\xB5\x03\x02\x02\x029\xBB\x03\x02\x02\x02;\xBD\x03\x02" +
		"\x02\x02=>\x07>\x02\x02>\x04\x03\x02\x02\x02?@\x07@\x02\x02@\x06\x03\x02" +
		"\x02\x02AB\x07>\x02\x02BC\x071\x02\x02C\b\x03\x02\x02\x02DE\x07?\x02\x02" +
		"E\n\x03\x02\x02\x02FG\x07*\x02\x02G\f\x03\x02\x02\x02HI\x07.\x02\x02I" +
		"\x0E\x03\x02\x02\x02JK\x07+\x02\x02K\x10\x03\x02\x02\x02LM\x07}\x02\x02" +
		"M\x12\x03\x02\x02\x02NO\x07\x7F\x02\x02O\x14\x03\x02\x02\x02PQ\x07<\x02" +
		"\x02Q\x16\x03\x02\x02\x02RS\x07]\x02\x02S\x18\x03\x02\x02\x02TU\x07_\x02" +
		"\x02U\x1A\x03\x02\x02\x02VW\x07v\x02\x02WX\x07t\x02\x02XY\x07w\x02\x02" +
		"YZ\x07g\x02\x02Z\x1C\x03\x02\x02\x02[\\\x07h\x02\x02\\]\x07c\x02\x02]" +
		"^\x07n\x02\x02^_\x07u\x02\x02_`\x07g\x02\x02`\x1E\x03\x02\x02\x02ab\x07" +
		"p\x02\x02bc\x07w\x02\x02cd\x07n\x02\x02de\x07n\x02\x02e \x03\x02\x02\x02" +
		"fh\x059\x1D\x02gf\x03\x02\x02\x02gh\x03\x02\x02\x02hj\x03\x02\x02\x02" +
		"ik\x05#\x12\x02ji\x03\x02\x02\x02kl\x03\x02\x02\x02lj\x03\x02\x02\x02" +
		"lm\x03\x02\x02\x02m\"\x03\x02\x02\x02no\t\x02\x02\x02o$\x03\x02\x02\x02" +
		"pt\x05)\x15\x02qs\x05\'\x14\x02rq\x03\x02\x02\x02sv\x03\x02\x02\x02tr" +
		"\x03\x02\x02\x02tu\x03\x02\x02\x02u&\x03\x02\x02\x02vt\x03\x02\x02\x02" +
		"wz\x05)\x15\x02xz\x071\x02\x02yw\x03\x02\x02\x02yx\x03\x02\x02\x02z(\x03" +
		"\x02\x02\x02{\x7F\x05+\x16\x02|\x7F\x07a\x02\x02}\x7F\x05#\x12\x02~{\x03" +
		"\x02\x02\x02~|\x03\x02\x02\x02~}\x03\x02\x02\x02\x7F*\x03\x02\x02\x02" +
		"\x80\x81\t\x03\x02\x02\x81,\x03\x02\x02\x02\x82\x86\x07$\x02\x02\x83\x85" +
		"\n\x04\x02\x02\x84\x83\x03\x02\x02\x02\x85\x88\x03\x02\x02\x02\x86\x84" +
		"\x03\x02\x02\x02\x86\x87\x03\x02\x02\x02\x87\x89\x03\x02\x02\x02\x88\x86" +
		"\x03\x02\x02\x02\x89\x93\x07$\x02\x02\x8A\x8E\x07,\x02\x02\x8B\x8D\n\x04" +
		"\x02\x02\x8C\x8B\x03\x02\x02\x02\x8D\x90\x03\x02\x02\x02\x8E\x8C\x03\x02" +
		"\x02\x02\x8E\x8F\x03\x02\x02\x02\x8F\x91\x03\x02\x02\x02\x90\x8E\x03\x02" +
		"\x02\x02\x91\x93\x07,\x02\x02\x92\x82\x03\x02\x02\x02\x92\x8A\x03\x02" +
		"\x02\x02\x93.\x03\x02\x02\x02\x94\x96\x07/\x02\x02\x95\x94\x03\x02\x02" +
		"\x02\x95\x96\x03\x02\x02\x02\x96\x97\x03\x02\x02\x02\x97\x98\x072\x02" +
		"\x02\x98\x99\x07z\x02\x02\x99\x9A\x03\x02\x02\x02\x9A\x9F\x051\x19\x02" +
		"\x9B\x9E\x051\x19\x02\x9C\x9E\x07a\x02\x02\x9D\x9B\x03\x02\x02\x02\x9D" +
		"\x9C\x03\x02\x02\x02\x9E\xA1\x03\x02\x02\x02\x9F\x9D\x03\x02\x02\x02\x9F" +
		"\xA0\x03\x02\x02\x02\xA00\x03\x02\x02\x02\xA1\x9F\x03\x02\x02\x02\xA2" +
		"\xA3\t\x05\x02\x02\xA32\x03\x02\x02\x02\xA4\xA6\x07/\x02\x02\xA5\xA4\x03" +
		"\x02\x02\x02\xA5\xA6\x03\x02\x02\x02\xA6\xA7\x03\x02\x02\x02\xA7\xA8\x07" +
		"2\x02\x02\xA8\xA9\x07d\x02\x02\xA9\xAA\x03\x02\x02\x02\xAA\xAF\x055\x1B" +
		"\x02\xAB\xAE\x055\x1B\x02\xAC\xAE\x07a\x02\x02\xAD\xAB\x03\x02\x02\x02" +
		"\xAD\xAC\x03\x02\x02\x02\xAE\xB1\x03\x02\x02\x02\xAF\xAD\x03\x02\x02\x02" +
		"\xAF\xB0\x03\x02\x02\x02\xB04\x03\x02\x02\x02\xB1\xAF\x03\x02\x02\x02" +
		"\xB2\xB3\x0423\x02\xB36\x03\x02\x02\x02\xB4\xB6\x059\x1D\x02\xB5\xB4\x03" +
		"\x02\x02\x02\xB5\xB6\x03\x02\x02\x02\xB6\xB7\x03\x02\x02\x02\xB7\xB8\x05" +
		"!\x11\x02\xB8\xB9\x070\x02\x02\xB9\xBA\x05!\x11\x02\xBA8\x03\x02\x02\x02" +
		"\xBB\xBC\t\x06\x02\x02\xBC:\x03\x02\x02\x02\xBD\xBE\t\x07\x02\x02\xBE" +
		"\xBF\x03\x02\x02\x02\xBF\xC0\b\x1E\x02\x02\xC0<\x03\x02\x02\x02\x12\x02" +
		"glty~\x86\x8E\x92\x95\x9D\x9F\xA5\xAD\xAF\xB5\x03\b\x02\x02";
	public static __ATN: ATN;
	public static get _ATN(): ATN {
		if (!gdxLexer.__ATN) {
			gdxLexer.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(gdxLexer._serializedATN));
		}

		return gdxLexer.__ATN;
	}

}

